//
//  ST_EditMyInfoCellModel.swift
//  btvideo
//
//  Created by Jason on 2021/7/20.
//  Copyright © 2021 JarvanZhang. All rights reserved.
//
//

import Foundation

protocol ST_EditMyInfoCellDataCommonProtocol {
    
    var modifyKey:String { get }
    
    var cellHeight:CGFloat { get }
}

enum ST_EditMyInfoCellData {
    
    case generalInfo(value:ST_EditGeneralInfoCellModel_Copy)
    case text(value:EditGeneralTextCellModel_Copy)
    case voiceSign(value:ST_EditMyVoiceSignCellModel_Copy)
    case empty(value:EditGeneralEmptyTextCellModel_Copy)
    case roomGarden(value:ST_EditMyGardenCellModel)
    
    var commonValue:ST_EditMyInfoCellDataCommonProtocol {
        
        switch self{
        case .generalInfo(let value):
            return value
        case .text(let value):
            return value
        case .voiceSign(let value):
            return value
        case .empty(let value):
            return value
        case .roomGarden(let value):
            return value
        }
        
    }
}



struct ST_EditGeneralInfoCellModel_Copy:ST_EditMyInfoCellDataCommonProtocol {
    let displayKey:String
    let displayValue:String
    let modifyKey:String
    let cellHeight:CGFloat = 44
    var selectedId:String = ""
}


struct EditGeneralEmptyTextCellModel_Copy:ST_EditMyInfoCellDataCommonProtocol {
    let reminderString:String
    let modifyKey:String
    let cellHeight:CGFloat
}


struct EditGeneralTextCellModel_Copy:ST_EditMyInfoCellDataCommonProtocol {
    let attributedText:NSAttributedString
    let modifyKey:String
    let cellHeight:CGFloat
}


struct ST_EditMyGardenCellModel:ST_EditMyInfoCellDataCommonProtocol {
    let imageUrl:URL?
    let img:UIImage?
    let modifyKey:String
    let cellHeight:CGFloat
}




struct ST_EditMyVoiceSignCellModel_Copy:ST_EditMyInfoCellDataCommonProtocol {
    let url:URL
    let duration:Int
    let modifyKey:String
    let cellHeight:CGFloat
}
